// 1. 引入二次封装好的Axios
import request from '@/utils/request';

// 2. 使用枚举来保存接口
enum Api {
  // 添加skuInfo
  saveSkuInfoApi = '/admin/product/saveSkuInfo',
  // 根据spuId来查看其下的所有的skuList数据
  checkSkuListApi = '/admin/product/findBySpuId',
  // 获取所有的skuList数据
  getAllSkuListApi = '/admin/product/list',
  // skuInfo上架
  skuOnSaleApi = '/admin/product/onSale',
  // skuInfo 下架
  skuCancelApi = '/admin/product/cancelSale',
  // 删除skuInfo
  deleteSkuInfoApi = '/admin/product/deleteSku',
  // 查看skuInfo数据
   getSkuInfoApi = '/admin/product/getSkuById'
}

// 3. 定义一个添加skuInfo的接口函数
export const reqSaveSkuInfo = (skuInfo) => {
  return request.post(Api.saveSkuInfoApi, skuInfo);
};

// 4. 根据spuId 来查看所有的skuList
export const reqCheckSkuListData = (spuId) => {
  return request.get(Api.checkSkuListApi + `/${spuId}`);
};

// 5. 获取所有的skuList数据
export const reqGetAllSkuListData = (page: number, limit: number) => {
  return request.get(Api.getAllSkuListApi + `/${page}/${limit}`)
}

// 6. 设置商品的上架
export const reqSkuOnSale = (skuId) => {
  return request.get(Api.skuOnSaleApi + `/${skuId}`)
}

// 7. 设置商品的下架
export const reqSkuCancelSale = (skuId) => {
  return request({
    url: Api.skuCancelApi + `/${skuId}`,
    method: 'get'
  })
}

// 8. 删除skuInfo这条数据
export const reqDeleteSkuInfo = (skuId) => {
  return request.delete(Api.deleteSkuInfoApi + `/${skuId}`)
}

// 9. 根据skuId获取某一个skuInfo数据
export const reqGetSkuInfoData = (skuId) => {
  return request.get(Api.getSkuInfoApi + `/${skuId}`)
}
